Hybrid disk drive and method of controlling data therein

ABSTRACT

A hybrid disk drive is utilized to achieve speed optimization and minimization of power consumption by installing a flash memory device in the hybrid disk drive and efficiently controlling data flow between the flash memory device and the disk drive. The hybrid disk drive includes a, volatile memory unit, a nonvolatile memory unit, a disk unit, a host interface and a buffer controller disposed between the volatile memory unit, the nonvolatile memory unit, the host interface and the disk unit. The disk unit stores data by magnetizing the surface of the disk. The host interface receives a read data command from the host and transmits the data stored in the volatile memory unit to the host. The buffer controller is configured to read the data from the nonvolatile memory unit if the data is not stored in the volatile memory unit when the read data command is received from the host interface. The buffer controller also controls the storing of the read data in the volatile memory unit if the data is stored in the nonvolatile memory unit. Alternatively, if the data is not stored in the nonvolatile memory unit, the controller reads the data from the disk unit and stories it in the volatile memory unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a disk drive, and more particularly, toa hybrid disk drive and a method of controlling data stored on thehybrid disk drive.

This application claims the benefit of Korean Patent Application No.10-2006-0006802, filed on Jan. 23, 2006, in the Korean IntellectualProperty Office, the entire contents of which are hereby incorporated byreference.

2. Discussion of Related Art

FIG. 1 is a schematic plan view of a conventional hard disk drive (HDD)100 which includes at least one disk 120, rotated by a spindle motor110, and a head 130 located adjacent to the surface of the disk 120. Thehead 130 can read or write information from or to disk 120 by sensing amagnetic field on the surface of the disk 120 or by magnetizing thesurface of the disk. Although a single head 130 is shown in FIG. 1, head130 includes a write head for magnetizing disk 120 and a separate readhead for sensing a magnetic field stored on disk 120. The read head iscomposed of a magneto-resistive (MR) component and mounted on slider131. An air support is generated between head 130 and the surface of thedisk 120 to allow slider 131 to move across the surface of the disk.Slider 131 is combined with a head gimbal assembly (HGA) 132 attached toactuator arm 140 and having a voice coil 141. Voice coil 141 is locatedadjacent to magnetic assembly 150 supporting a voice coil motor (VCM)142. A current supplied to voice coil 141 generates a torque thatrotates actuator arm 140 around bearing assembly 160 which causes head130 to move across the surface of disk 120.

Information is typically stored in concentric tracks on disk 120. Ingeneral, each track 170 includes a plurality of sectors where eachsector includes a data field and an identification field. Theidentification field is composed of a Gray code for identifying sectorsand tracks (cylinders). Head 130 moves across the surface of disk 120 toread or write information from or to another track. The access speed ofan HDD is relatively slow as compared to nonvolatile memory componentssuch as a flash memory device which are typically used to increase thebooting speed of computer systems. However, HDD devices do not have adevice or method used to control the efficient transfer of data from andto such flash memory devices. The absence of such a device or methodcompromises data speed of an HDD as well as necessary poser consumption.

SUMMARY OF THE INVENTION

The present invention provides a hybrid disk drive for achieving speedoptimization and minimization of power consumption by installing a flashmemory device in the hybrid disk drive and efficiently controlling dataflow between the flash memory device and the hybrid disk drive. A hybriddisk drive includes a volatile memory unit, a nonvolatile memory unit, adisk unit, a host interface and a buffer controller disposed between thevolatile memory unit, the nonvolatile memory unit, the host interfaceand the disk unit. The disk unit stores data by magnetizing the surfaceof the disk. The host interface receives a read data command from thehost and transmits the data stored in the volatile memory unit to thehost. The buffer controller is configured to read the data from thenonvolatile memory unit if the data is not stored in the volatile memoryunit when the read data command is received from the host interface. Thebuffer controller also controls the storing of the read data in thevolatile memory unit if the data is stored in the nonvolatile memoryunit. Alternatively, if the data is not stored in the nonvolatile memoryunit, the controller reads the data from the disk unit and stories it inthe volatile memory unit.

A method for controlling data stored in the hybrid disk drive is alsodisclosed. The method comprises determining whether data is stored in avolatile memory unit when a read data command is received from a host.If the data is not stored in the volatile memory unit, the data is readfrom a nonvolatile memory unit. The read data is stored in the volatilememory unit from the nonvolatile memory unit. If the data is not storedin either the volatile memory unit or the nonvolatile memory unit, thedata is read from a disk unit. The read data is then stored in thevolatile memory unit and transmitted to the host.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic plan view of a conventional HDD;

FIG. 2 is a block diagram of a hybrid disk drive according to anembodiment of the present invention;

FIG. 3 is a detailed block diagram of the hybrid disk drive of FIG. 2;

FIG. 4 is a flowchart illustrating a method of controlling data of thehybrid disk drive of FIGS. 2 and 3 in a data read operation, accordingto an embodiment of the present invention;

FIG. 5 is a detailed flowchart of the method of controlling data of thehybrid disk drive in the data read operation of FIG. 4;

FIG. 6 is a flowchart illustrating a method of controlling data of thehybrid disk drive of FIGS. 2 and 3 in a data write operation, accordingto an embodiment of the present invention; and

FIG. 7 is a flowchart illustrating the method of controlling data of thehybrid disk drive in the data write operation of FIG. 6.

DESCRIPTION OF EMBODIMENTS

The present invention will now be described more fully hereinafter withreference to the accompanying drawings, in which preferred embodimentsof the invention are shown. This invention, however, may be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein. Rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. In thedrawings, like numbers refer to like elements throughout.

FIG. 2 is a block diagram of a hybrid disk drive including a volatilememory unit 200, a nonvolatile memory unit 210 and a disk unit 230.Volatile memory unit 200 may include, for example, a synchronous dynamicrandom access memory (SDRAM) or a static dynamic random access memory(SRAM). Nonvolatile memory unit 210 may include, for example, a flashmemory device. Disk unit 230 stores data by magnetizing the surface ofthe disk using a magnetic field and may include spindle motor 110, disk120, head 130, and actuator arm 140 as illustrated in FIG. 1, and aread/write (R/W) channel circuit (not shown) in order to store data.

Host interface 240 receives a read data command from host 250. If thedata to be read in response to the read data command is stored involatile memory unit 200, host interface 240 transmits the data storedin volatile memory unit 200 to the host 250. Host interface 240 alsoreceives a write data command and the data received by host interface240 includes data to be written in response to the write data command.Direct memory access unit 260 and buffer controller 270 operateaccording to whether a command received by host interface 240 is a writedata command or a read data command. When a read data command isreceived by host interface 240, direct memory access unit 260 transmitsdata to host 250 and stores the data from volatile memory unit 200 intononvolatile memory unit 210 using a direct memory access method.

When the read data command is received by host interface 240 and thedata is stored in nonvolatile memory unit 210, buffer controller 270reads the data from nonvolatile memory unit 210 and stores it intovolatile memory unit 200. If the data is not stored in either volatilememory unit 200 or nonvolatile memory unit 210, buffer controller 270reads the data from disk unit 230 and stores it in volatile memory unit200. Buffer controller 270 may set disk unit 230 to a power saving mode.If a read data command is received by host interface 240 and the data isnot stored in either volatile memory unit 200 or nonvolatile memory unit210, buffer controller 270 may perform a wake-up operation for disk unit230.

When a write data command is received by host interface 240, buffercontroller 270 determines whether or not the data can be stored innonvolatile memory unit 210. If the data can be stored in nonvolatilememory unit 210, direct memory access unit 260 then stores the datatherein using the direct memory access method. If the write data commandis received by host interface 240, buffer controller 270 stores the datareceived by host interface 240 into volatile memory unit 200 anddetermines whether the data received by host interface 240 can be storedin nonvolatile memory unit 210. If the amount of data received by hostinterface 240 is within the remaining capacity of nonvolatile memoryunit 210, buffer controller 270 determines that the data received byhost interface 240 can be stored in nonvolatile memory unit 210. If itis determined that the data received by the host interface 240 cannot bestored into the nonvolatile memory unit 210, the buffer controller 270stores the data received by host interface 240 onto disk unit 230.Buffer controller 270 may set disk unit 230 to a power saving mode andwhen the write data command is received by host interface 240 and thedata received by the host interface 240 cannot be stored in nonvolatilememory unit 210, buffer controller 270 may perform the wake-up operationon disk unit 230.

FIG. 3 is a detailed block diagram of the hybrid disk drive shown inFIG. 2. Volatile memory unit 300 includes an SDRAM 301 and controller302. The SDRAM 301 stores data while power is being applied to thehybrid disk drive and controller 302 controls data input and output ofSDRAM 301. The nonvolatile memory unit 310 includes a flash memorydevice 311 and controller 312. Flash memory device 311 stores dataregardless of whether power is being applied to the hybrid disk drive.Controller 312 controls data input and output of flash memory device 311and performs a cyclic redundancy check (CRC) operation, a block transferoperation, and a copy back operation between flash memory device 311 andcontroller 312.

A disk formatter 320 transforms various types of input or output data toa format suitable for disk unit 330. Disk formatter 320 may also performan inverse-transform of the data to be stored. Data input from diskformatter 320 to disk unit 330 passes through a R/W channel circuit (notshown). Host interface 340 receives the read data command from host 350.If the data to be read in response to the read data command is to bestored in volatile memory unit 300, host interface 340 transmits thedata stored in volatile memory unit 300 to host 350. Host interface 340also receives the write data command and data from the host 350. Thedata received by host interface 340 includes data to be written inresponse to the write data command. A first-in-first-out (FIFO) device371 is disposed between host interface 340 and buffer controller 370 andfunctions as a buffer when a read data command, a write data command,and various kinds of data are transmitted or received between buffercontroller 370 and host 340. In addition, FIFO device 372 is disposedbetween volatile memory unit 300 and buffer controller 370 and functionsas a buffer when various types of data are transmitted or receivedbetween unit 300 and controller 370. FIFO device 373 is disposed betweennonvolatile memory unit 310 and buffer controller 370 and functions as abuffer when various types of data are transmitted or received betweenunit 310 and controller 370. FIFO 374 is disposed between disk unit 330and buffer controller 370 and functions as a buffer when various typesof data are transmitted or received between unit 330 and controller 370.Each of the FIFO devices 371, 372, 373 and 374 act as register devices.

Direct memory access unit 360 and buffer controller 370 operatedifferently according to whether a command received by host interface340 is a write data command or a read data command. When a read datacommand is received by host interface 340, direct memory access unit 360transmits data to host 350 and stores the data from volatile memory unit300 into nonvolatile memory unit 310 by transmitting the data to FIFOdevice 373 using a direct memory access method. When the read datacommand is received by host interface 340 and the data is stored innonvolatile memory unit 310 (not in volatile memory unit 300), buffercontroller 370 reads the data from nonvolatile memory unit 310 andstores the read data into volatile memory unit 300 by transmitting thedata to FIFO device 372. If the data is not stored in either volatilememory unit 300 or nonvolatile memory unit 310, buffer controller 370reads the data from disk unit 330 and stores it in volatile memory unit200 by transmitting the data to FIFO device 372.

When a write data command is received by host interface 340, buffercontroller 370 determines whether or not the data can be stored innonvolatile memory unit 310. Direct memory access unit 360 stores thedata into nonvolatile memory unit 310 by transmitting the data to FIFOdevice 373 using the direct memory access method. If the write datacommand is received by host interface 340, buffer controller 370 storesthe received data in volatile memory unit 300 by transmitting the datato FIFO device 372 and determines whether the data received by hostinterface 340 can be stored in nonvolatile memory unit 310. Buffercontroller 370 determines that the data received by host interface 340can be stored into nonvolatile memory unit 310 if the amount of receiveddata is within the remaining capacity of nonvolatile memory unit 310. Ifit is determined that the data received by host interface 340 cannot bestored into the nonvolatile memory unit 310, buffer controller 370stores the received data on disk unit 230 by transmitting the data toFIFO 374.

FIG. 4 is a flowchart illustrating a method of controlling data of thehybrid disk drive of FIGS. 2 and 3 in a data read operation. It isdetermined whether the read data command has been inputted from host 250at step 400. If the read data command has not been initiated, the methodterminates. If the read data command has been initiated, a determinationis made at step 410 whether the data to be read is stored in volatilememory unit 200. If the data to be read is stored in volatile memoryunit 200, this data is transmitted to host 250 at step 450 and themethod terminates. If the data to be read is not stored in volatilememory unit 200, step 420 determines if the data to be read is stored innonvolatile memory unit 210.

If the data to be read is stored in nonvolatile memory unit 210, thedata is read from nonvolatile memory unit 210 and stored in volatilememory unit 200 at step 430 and the data is transmitted to host 250 atstep 450. If the data to be read is not stored in nonvolatile memoryunit 210, the data is read from disk unit 230 and stored in volatilememory unit 200 at step 440. The data is then transmitted to host 250 atstep 450.

FIG. 5 is a flowchart illustrating a method of controlling data of thehybrid disk drive associated with the data read operation of FIG. 4. Atstep 500, disk unit 230 is set to a power saving mode where the disk isnot rotated by spindle motor 110 and may be a mode in which head 130 ismaintained in a latch state. A determination is made whether a read datacommand is input from host 250 at step 505. If the read data command isnot input from host 250, the method terminates. If the read data commandis input from host 250, step 510 determines if the data to be read inresponse to the read data command is stored in volatile memory unit 200.If the data to be read is stored in volatile memory unit 200, the datastored in the volatile memory unit 200 is transmitted to host 250 atstep 550 and the data is stored in nonvolatile memory unit 210 using thedirect memory access method at step 555.

If the data to be read in response to the read data command is notstored in volatile memory unit 200, in operation 520, step 520determines whether the data to be read is stored in nonvolatile memoryunit 210. If the data to be read is stored in nonvolatile memory unit210, the data is read from nonvolatile memory unit 210 and stored involatile memory unit 200 at step 530. If the data to be read is notstored in nonvolatile memory unit 210, a disk wake-up operation isperformed at step 540 and the data is read from disk unit 230 and storedin volatile memory unit 200 at step 545. The disk wake-up step mayinclude rotation of the disk by a spindle motor and a head unlatchingoperation. The data stored in volatile memory unit 200 is thentransmitted to host 250 at step 550 and the data stored in volatilememory unit 200 is stored in nonvolatile memory unit 210 using thedirect memory access method at step 555.

FIG. 6 is a flowchart illustrating a method of controlling data of ahybrid disk drive in FIGS. 2 and 3 in a data write operation. In step600, it is determined whether the write data command is initiated fromhost 250. This step includes receiving data to be written in response tothe write data command. If the write data command is not input from host250, the method terminates. If the write data command is input from host250, step 610 stores the data received from host 250 in volatile memoryunit 200. At step 620, a determination is made whether the data to bewritten in response to the write data command can be stored innonvolatile memory unit 210. If the data to be written can be stored innonvolatile memory unit 210, step 630 stores the data in nonvolatilememory unit 210 using the direct memory access method. If the data to bewritten cannot be stored in nonvolatile memory unit 210, the data to bewritten is stored on disk unit 230 at step 640. The method terminates ifthe data to be written is stored in either the nonvolatile memory unit210 or disk unit 230.

FIG. 7 is a flowchart illustrating a method of controlling data of thehybrid disk drive of FIGS. 2 and 3 in a data write operation of FIG. 6.In step 700, disk unit 230 is set to the power saving mode where thedisk is not rotated by the spindle motor and may be a mode in which thehead is maintained in a latch state. A determination is made at step 705whether the write data command is initiated from host 250 and data to bewritten is received in response to the write data command. If the writedata command is not input from host 250, the method terminates. If thewrite data command is input from host 250, the data received from host250 is stored in volatile memory unit 200 at step 710. At step 720, itis determined whether the amount of the data to be written in responseto the write data command is within the remaining capacity ofnonvolatile memory unit 210. If the data is within the remainingcapacity of nonvolatile memory unit 210, the data to be written isstored in nonvolatile memory unit 210 using the direct memory accessmethod at step 730. If the data to be written exceeds the remainingcapacity of nonvolatile memory unit 210, in operation 740, the diskwake-up operation is performed at step 740 which includes rotating thedisk by the spindle motor 110 and unlatching head 130. After the diskwake-up operation is performed, the data is stored on disk unit 230 atstep 745. If the data to be written is stored in either nonvolatilememory unit 210 or disk unit 230, the method terminates.

The present invention may also be embodied as computer readable code ona computer readable recording medium. Examples of the computer readablerecording medium may include, for example, read-only memory (ROM),random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks,optical data storage devices, and carrier waves (such as datatransmission through the Internet). The computer readable recordingmedium can also be distributed over network coupled computer systems sothat the computer readable code is stored and executed in a distributedfashion.

As described above, by utilizing a nonvolatile memory in a disk driveand efficiently controlling data flow between the nonvolatile memory andthe disk drive, the rotation of a disk can be minimized, therebyminimizing disk drive power consumption. Moreover, by first accessing amemory configured with a quick access speed, performance of the entiredisk drive may be improved.

Although the present invention has been described in connection with theembodiment of the present invention illustrated in the accompanyingdrawings, it is not limited thereto. It will be apparent to thoseskilled in the art that various substitution, modifications and changesmay be made thereto without departing from the scope and spirit of theinvention.

1. A method of controlling data of a hybrid disk drive, the methodcomprising: determining whether data is stored in a volatile memory unitwhen a read data command is received from a host; if the data is notstored in the volatile memory unit, reading the data from a nonvolatilememory unit; storing the read data in said volatile memory unit from thenonvolatile memory unit; if the data is not stored in either thevolatile memory unit or the nonvolatile memory unit, reading the datafrom a disk unit; storing the read data in the volatile memory unit; andtransmitting the data stored in the volatile memory unit to the host. 2.The method of claim 1, where in the step of storing the data stored inthe volatile memory unit into the nonvolatile memory unit furthercomprises using a direct memory access method
 3. The method of claim 1,wherein the step of determining whether the data is stored in thevolatile memory unit further comprises setting the disk unit to a powersaving mode, and performing a wake-up operation for the disk unit if thedata is not stored in either the volatile memory unit or the nonvolatilememory unit.
 4. A method of controlling data of a hybrid disk drive, themethod comprising: storing data into a volatile memory unit in responseto a write data command received from a host; determining whether thedata stored in the volatile memory unit can be stored in a nonvolatilememory unit; and determining that the data stored in the volatile memoryunit can be stored in the nonvolatile memory unit storing the datastored in the volatile memory unit in the nonvolatile memory unit, usinga direct memory access method; and if the data stored in the volatilememory unit can not be stored in the nonvolatile memory unit, storingthe data stored in the volatile memory unit on a disk unit.
 5. Themethod of claim 4, wherein the step of determining whether the datastored in the volatile memory unit can be stored in the nonvolatilememory unit depends on whether the amount of data to be stored in thenonvolatile memory unit is within a remaining capacity of thenonvolatile memory unit.
 6. The method of claim 4, wherein the step ofstoring the data into the volatile memory unit further comprises:setting the disk unit to a power saving mode, and performing a wake-upoperation for the disk unit if the data can not be stored in thenonvolatile memory unit.
 7. A hybrid disk drive comprising: a volatilememory unit for storing data a nonvolatile memory unit for storing data;a disk unit storing data by magnetizing the surface of the disk; a hostinterface receiving a read data command from a host and transmitting thedata stored in the volatile memory unit to the host; and a buffercontroller communicating with said host interface, said disk unit andsaid volatile and nonvolatile memory units, said buffer controllerconfigured to read the data from the nonvolatile memory unit if the datais not stored in the volatile memory unit when the read data command isreceived by the host interface, said buffer controller storing the readdata in the volatile memory unit if the data is stored in thenonvolatile memory unit, or reading the data from the disk unit andstoring the read data in the volatile memory unit if the data is notstored in the nonvolatile memory unit.
 8. The hybrid disk drive of claim7, further comprising a direct memory access unit disposed between saidvolatile memory unit and said nonvolatile memory unit, said directaccess memory unit controlling the storing of data stored in thevolatile memory unit in the nonvolatile memory unit utilizing a directmemory access method
 9. The hybrid disk drive of claim 7, wherein thebuffer controller provides a control signal to set the disk unit to apower saving mode, said buffer controller configured to wake up saiddisk unit when the read data command is received by the host interfaceand the data is not stored in the volatile memory unit or in thenonvolatile memory unit.
 10. The hybrid disk drive of claim 7, whereinthe volatile memory unit comprises a synchronous dynamic random accessmemory (SDRAM) or a static dynamic random access memory (SRAM).
 11. Thehybrid disk drive of claim 7, wherein the nonvolatile memory unitcomprises a flash memory device.
 12. A hybrid disk drive comprising: ahost interface receiving a write data command and associated data from ahost; a volatile memory unit storing data a nonvolatile memory unitstoring data a disk unit storing data by magnetizing the surface of thedisk; a buffer controller communicating with said host interface, saiddisk unit and said volatile and nonvolatile memory units, said buffercontroller receiving said write data command from said host interfaceand controlling the storing of data in the volatile memory unit, saidcontroller storing the data on the disk unit if it determines that thedata cannot be stored in the nonvolatile memory unit; and a directmemory access unit disposed between said volatile memory unit and saidnonvolatile memory unit, said direct memory access unit storing the datain the nonvolatile memory unit using a direct memory access method if itis determined by said buffer controller that the data can be stored inthe nonvolatile memory unit.
 13. The hybrid disk drive of claim 12,wherein the buffer controller determines that if the remaining capacityavailable in the nonvolatile memory unit can accommodate the storage ofdata in the nonvolatile memory unit.
 14. The hybrid disk drive of claim12, wherein said buffer controller sets the disk unit to a power savingmode, and when the write data command is received by the host interfaceand the data cannot be stored into the nonvolatile memory unit, saidbuffer controller performs a disk unit wake-up operation.
 15. The hybriddisk drive of claim 12, wherein the volatile memory unit comprises asynchronous dynamic random access memory (SDRAM) or a static dynamicrandom access memory (SRAM).
 16. The hybrid disk drive of claim 12,wherein the nonvolatile memory unit comprises a flash memory device.